home *** CD-ROM | disk | FTP | other *** search
- 0 REM * * * * * * * ** * * * * * * *
- 1 REM * *
- 2 REM * SPRITE PRIORITIES *
- 3 REM * A BASIC DEMO *
- 4 REM * BY BONES *
- 5 REM * *
- 6 REM * * * * * * * ** * * * * * * *
- 7 :
- 8 :
- 9 :
- 10 GOSUB66:REM * INITIALISE
- 11 :
- 12 REM ***** PROGRAM MAINLOOP *****
- 13 :
- 14 GOSUB55:REM * KEYPRESS
- 15 JV=PEEK(JS)AND15:IFJV=15THEN14
- 16 GOSUB21:REM EXECUTE JOY COMMANDS
- 17 GOTO14
- 18 :
- 19 REM *** JOYSTICK UP ***
- 20 :
- 21 IFJV<>14THEN32
- 22 DS(K)=DS(K)-4:IFDS(K)<50THENDS(K)=50
- 23 POKEV+1+(N*2),DS(K)
- 24 IFPEEK(V+3+(N*2))<=PEEK(V+1+(N*2))THEN28
- 25 SYS52832:REM * PRIORITISE SPRITES
- 26 N=N+1:IFN>7THENN=7
- 27 IFN<>0THENGOSUB64
- 28 RETURN
- 29 :
- 30 REM *** JOYSTICK DOWN ***
- 31 :
- 32 IFJV<>13THEN43
- 33 DS(K)=DS(K)+4:IFDS(K)>208THENDS(K)=208
- 34 POKEV+1+(N*2),DS(K)
- 35 IFPEEK(V+1+(N*2))<=PEEK(V-1+(N*2))THEN39
- 36 SYS52832:REM * PRIORITISE SPRITES
- 37 IFN<>0THEN GOSUB64
- 38 N=N-1:IFN<0THENN=0
- 39 RETURN
- 40 :
- 41 REM *** JOYSTICK LEFT/RIGHT ***
- 42 :
- 43 Y=PEEK(V+(N*2))
- 44 IFJV<>11THEN47
- 45 Y=Y-6:IFY<24THENY=24
- 46 GOTO49
- 47 IFJV<>7THEN23
- 48 Y=Y+6:IFY>255THENY=255
- 49 POKEV+(N*2),Y
- 50 RETURN
- 51 :
- 52 REM *** SELECT-A-SPRITE ***
- 53 REM * KEYS 1 TO 8 *
- 54 :
- 55 GETK$:X=VAL(K$):IFX<1ORX>8THEN60
- 56 K=X-1
- 57 FORC=0TO7
- 58 IFF(C)=KTHENN=C
- 59 NEXT
- 60 RETURN
- 61 :
- 62 REM *** UPDATE F(LAG) ARRAY ***
- 63 :
- 64 Z=F(N):F(N)=F(N-1):F(N-1)=Z:RETURN
- 65 :
- 66 REM *** INITIALISE ***
- 67 :
- 68 POKE53280,0:POKE53281,0:PRINT"[147]"
- 69 V=53248:JS=56320:DP=2040:PO=192:DIMDS(7),F(7):N=0:JV=0:K=0:
- 70 FORC=0TO64:POKE12288+C,255:NEXT:REM * FILL SPRITE IMAGES WITH BLANKS
- 71 FORC=0TO7:POKEDP+C,PO:REM * DATA POINTERS
- 72 REM
- 73 REM
- 74 REM
- 75 POKEV+39+C,C+1:REM * COLOUR SPRITES
- 76 NEXTC
- 77 X=50:FORC=0TO14STEP2:POKEV+C,X:X=X+10:NEXT:REM * POKE X COORDS
- 78 Y=200:FORC=1TO15STEP2:POKEV+C,Y:Y=Y-10:NEXT:REM * POKE Y COORDS
- 79 FORC=0TO7:DS(C)=PEEK(V+1+(C*2)):F(C)=C:NEXT:REM * SET UP ARRAYS
- 80 POKEV+21,255:REM * ENABLE SPRITES
- 81 RETURN
-